Fix from Olaf.
authorrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Wed, 20 Jul 2005 11:15:20 +0000 (11:15 +0000)
committerrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Wed, 20 Jul 2005 11:15:20 +0000 (11:15 +0000)
gpsbabel/gdb.c

index 0b01c0461c1696cb86de739fada2cd4652dd7a3c..c914fbd01a5173527c0a9cbe45177db2661c2e68 100644 (file)
@@ -447,18 +447,21 @@ gdb_read_wpt(const size_t fileofs, int *wptclass)
        delta = fileofs - pos;
        gdb_is_valid(delta > 0, "waypoint final");
        
-       xtime = 0;
-       if (xclass == 0) 
+       if ((delta & 1) == 0)
        {
            gdb_fread(buff, 1, 1, fin);
-           if (buff[0] == 1)
-           {
-               gdb_is_valid(delta==5, "??? waypoint time ???");
-               gdb_fread_le(fin, &xtime, sizeof(xtime), 32, "xtime");
-           }
+           delta--;
+       }
+       
+       xtime = 0;
+       gdb_fread(buff, 1, 1, fin);
+       if (buff[0] == 1)
+       {
+           gdb_is_valid(delta==5, "??? waypoint time ???");
+           gdb_fread_le(fin, &xtime, sizeof(xtime), 32, "xtime");
+       }
            else
                gdb_is_valid(delta==1, "no waypoint time");
-       }
        
        *wptclass = xclass;